
/**
 * Write a description of class KlantMenu here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class KlantKeuzeMenu
{

    private MenuKiezer menu;
    private Supermarkt supermarkt;
    private KlantMenu klantMenu;
    
    public KlantKeuzeMenu(Supermarkt supermarkt){
        maakKlantKeuzeMenu();
        this.supermarkt=supermarkt;
    }

    private void maakKlantKeuzeMenu() {
        menu = new MenuKiezer( "Kies een inlogmethode", "maak een keuze" );
        menu.addItem    ( "Bestaande Klant"     );
        menu.addItem    ( "Anonieme Klant"       );
        menu.addItem    ( "Nieuwe Klant"    );
        menu.addStopItem( "Terug naar Hoofdmenu"      );
    }
    
    public void toonKlantKeuzeMenu() {
        int keuze = -1; 
        TuiHelper.clear();
        while ( keuze != 0 ) {
            keuze = menu.getMenukeuze();
            switch ( keuze ) {
            case 1: 
                clear();
                LoginBestaandeKlant();  
                break;
            case 2: 
                LoginAnoniemeKlant();       
                break;
            case 3: 
                clear();
                AddNieuweKlant();    
                break;
            case 0:
                TuiHelper.clear();
                break;
            default:
                System.out.println("Ongeldige keuze");
            
            }
        }
    }
    
    public void LoginBestaandeKlant(){
        boolean gevonden=false;
        String naam = TuiHelper.stelVraagMetTekstAntwoord( "Vul hier je naam in: " );
        for (Klant k : supermarkt.getKlanten()){
            if ( k.getNaam().equalsIgnoreCase(naam) ){
                TuiHelper.clear();
                klantMenu = new KlantMenu(supermarkt, k);
                klantMenu.toonKlantMenu();
                gevonden=true;
            }
        }
        if (!gevonden){
            TuiHelper.clear();
            System.out.println("Uw naam komt niet voor in onze Database");
            TuiHelper.drukafDrukEnterEnWachtOpEnter();
        }
    }
    public void LoginAnoniemeKlant(){
        Klant anoniem = new Klant("Anoniem",supermarkt);
        klantMenu = new KlantMenu(supermarkt, anoniem);
        klantMenu.toonKlantMenu();
        
    }
    
    public void AddNieuweKlant(){
        boolean gevonden=false;
        String naam = TuiHelper.stelVraagMetTekstAntwoord( "Vul hier je naam in: " );
        for (Klant k : supermarkt.getKlanten()){
            if (k.getNaam().equalsIgnoreCase(naam) ){
                gevonden=true;
            }
        }
        if(!gevonden){
            Klant nieuweKlant = new Klant(naam, supermarkt);
            supermarkt.addKlant(nieuweKlant);
            klantMenu = new KlantMenu(supermarkt, nieuweKlant);
            klantMenu.toonKlantMenu();
        }
    }
    
    public void clear(){
        TuiHelper.clear();
    }
    

}
